package com.hellobike.haxing.modules.shop.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Description: 提现申请
 * @Author: haxing-boot
 * @Date: 2020-02-08
 * @Version: V1.0
 */
@Data
@TableName("t_shop_withdrew")
public class ShopWithdrew implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private java.lang.Long id;
    /**
     * 申请时间
     */
    @Excel(name = "申请时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date applyTime;
    /**
     * 提货掉id
     */
//    @Excel(name = "提货点id", width = 15)
    private java.lang.Long shopId;
    /**
     * 提现金额
     */
    @Excel(name = "提现金额", width = 15)
    private java.math.BigDecimal amount;
    /**
     * 1申请2通过3拒绝4打款成功5打款失败6打款中
     */
//    @Excel(name = "1申请2通过3拒绝4已打款5打款失败6打款中7运营审核通过", width = 15)
    private java.lang.Integer status;
    /**
     * 微信号码
     */
//    @Excel(name = "微信号码", width = 15)
    private String wechatNo;
    /**
     * 团长银行卡卡号
     */
    @Excel(name = "银行卡卡号", width = 15)
    private java.lang.String bankCardNo;
    /**
     * 团长开户行信息
     */
    @Excel(name = "开户行信息", width = 15)
    private java.lang.String bankCardOwner;
    /**
     * 手机号
     */
    @Excel(name = "手机号", width = 15)
    private java.lang.String mobile;
    /**
     * 姓名
     */
    @Excel(name = "姓名", width = 15)
    private java.lang.String realName;
    /**
     * 原因
     */
//    @Excel(name = "原因", width = 15)
    private java.lang.String reason;
    /**
     * createTime
     */
//    @Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date createTime;
    /**
     * updateTime
     */
//    @Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date updateTime;
    /**
     * createBy
     */
//    @Excel(name = "createBy", width = 15)
    private java.lang.Integer createBy;
    /**
     * updateBy
     */
//    @Excel(name = "updateBy", width = 15)
    private java.lang.Integer updateBy;
    /**
     * deleted
     */
//    @Excel(name = "deleted", width = 15)
    @TableLogic
    private java.lang.Integer deleted;
    /**
     * 审核人
     */
//    @Excel(name = "审核人", width = 15)
    private java.lang.String auditUser;
    /**
     * 审核时间
     */
//    @Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date auditTime;
    /**
     * 放款人
     */
//    @Excel(name = "打款人", width = 15)
    private java.lang.String loanUser;
    /**
     * 放款时间
     */
//    @Excel(name = "打款时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date loanTime;
    /**
     * 退款人
     */
//    @Excel(name = "打款失败原因", width = 10)
    private String loanFailReason;


    /**
     * 手续费
     */
//    @Excel(name = "手续费", width = 15)
    private java.math.BigDecimal brokerageAmount;
    /**
     * 税费
     */
//    @Excel(name = "税费", width = 15)
    private java.math.BigDecimal taxAmount;
    /**
     * 实际提现金额
     */
//    @Excel(name = "实际提现金额", width = 15)
    private java.math.BigDecimal actualAmount;
    /**
     * 运营审核人
     */
//    @Excel(name = "运营审核人", width = 15)
    private java.lang.String yyauditUser;
    /**
     * 运营审核时间
     */
//    @Excel(name = "运营审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date yyauditTime;

    @Excel(name = "当前可提现金额", width = 15)
    @TableField(exist = false)
    private BigDecimal totalAmount;

    /**
     * 提现类型，1佣金，2邀请下单奖励
     */
    private Integer type;

    @Excel(name = "提现类型", width = 15)
    @TableField(exist = false)
    private String typeName;

    @Excel(name = "状态", width = 15)
    @TableField(exist = false)
    private String statusName;
}
